import request from './request.js';

// 调试帮助函数
const debug = {
  // 记录API响应
  logResponse: (api, response) => {
    console.log(`[API Debug] ${api} Response:`, response);
    return response; // 返回原始响应以便链式调用
  },
  
  // 包装API调用以添加日志
  wrapWithLogging: (apiFunction, apiName) => {
    return (...args) => {
      console.log(`[API Debug] Calling ${apiName} with:`, args);
      return apiFunction(...args).then(res => debug.logResponse(apiName, res));
    };
  }
};

// 用户相关接口
const userApi = {
  // 发送验证码
  sendCode: (phone) => {
    return request.get('/user/zhuces', { phone });
  },
  
  // 登录获取 token（手机号验证码登录）
  login: debug.wrapWithLogging((phone, code, options = {}) => {
    return request.post('/user/loginToken', { phone, code }, options);
  }, 'login(phone, code)'),
  
  // 账号密码登录
  loginByPassword: debug.wrapWithLogging((phone, password, options = {}) => {
    return request.post('/user/login', { phone, password }, options);
  }, 'loginByPassword'),
  
  // 获取用户信息
  getUserInfo: (userId) => {
    return request.get('/user/info', { userId });
  },
  
  // 更新用户信息
  updateUserInfo: (data) => {
    return request.post('/user/update', data);
  },
  
  // 设置/修改密码
  registerPassword: debug.wrapWithLogging((phone, password) => {
    return request.post('/user/registerPassword', { phone, password });
  }, 'registerPassword')
};

// 导出所有 API
export default {
  user: userApi,
  // 导出调试工具
  debug
  // 其他模块的 API 可以在这里添加
}; 